SRPairLeggerOrder
METADATA
| Attribute | Value |
|---|---|
| Topic | 5355-strategy-legger |
| MLink Token | Internal |
| Product | SRTrade |
| accessType | SELECT |
Table Definition
| Field | Type | Key | Default Value | Comment |
|---|---|---|---|---|
| orderNumber | CHAR(19) | PRI | '0000-0000-0000-0000' | pair legger order number should be an SR Guid |
| spdrSource | enum - SpdrSource | 'None' | ||
| accnt | VARCHAR(16) | '' | SR trading account | |
| clientFirm | VARCHAR(16) | '' | SR client firm | |
| pairCtrlState | enum - PairCtrlState | 'None' | ||
| strategy | VARCHAR(36) | '' | clientsupplied strategy string visible on SpiderRock GUI tools and other order reports | |
| userName | VARCHAR(24) | '' | name of the user entering the order | |
| orderSize | INT | 0 | pair size number of complete spreads | |
| leggerLimit | DOUBLE | 0 | pair limit | |
| leggerLimitType | enum - LeggerLimitType | 'None' | pair limit type stock Price future Price optExpiry AtmVol only option StrikeVol | |
| leggerAlgo | enum - LeggerAlgo | 'None' | ||
| legRatioType | enum - LegRatioType | 'None' | vega ve qty pv wVega vol ve qty pv tVega ve Max4 years 01 qty pv wtVega vol ve Max4 years 01 qty pv | |
| numAtmStrikes | SMALLINT UNSIGNED | 0 | number of OptExpiry atm strikes max 6 | |
| legExposurePct | FLOAT | 0 | percentage of legger order size than can be exposed on a single leg without completing related legs | |
| legCompletionSlippage | DOUBLE | 0 | maximum leg slippage to complete an open pair order in leggerLimitType units | |
| marketSession | enum - MarketSession | 'None' | ||
| orderDuration | INT | 0 | optional number of seconds | |
| goodTillDttm | DATETIME(6) | '1900-01-01 00:00:00.000000' | optional default 20990101 | |
| maxMktPctMove | DOUBLE | 0 | optional if any leg stock price future price or option underlier price moves more than maxMktPctMove from values at order activation then the entire order will be automatically put on hold | |
| autoHedge | enum - AutoHedge | 'None' | only for optExpiryoptExpiry and optionoption pairs | |
| hedgeSession | enum - MarketSession | 'None' | ||
| userData1 | TINYTEXT | '' | client supplied data field passes through to parent and child executions and reports as well as FIX drops | |
| userData2 | TINYTEXT | '' | client supplied data field passes through to parent and child executions and reports as well as FIX drops | |
| childData | TINYTEXT | '' | client supplied data field passes through to down stream child orders | |
| timestamp | DATETIME(6) | '1900-01-01 00:00:00.000000' | ||
| LegsList | JSON | 'JSON_ARRAY()' |
PRIMARY KEY DEFINITION (Unique)
| Field | Sequence |
|---|---|
| orderNumber | 1 |
JSON Block (LegsList)
| Field | Type | Comment |
|---|---|---|
| secKey | enum - secKey | leg Security can be a stock future optExpiry or option must be the same for all legs cp can be call put or both if secType optExpiry |
| secType | enum - LeggerSecType | note stockstock stockfuture futurefuture optExpiryoptExpiry or optionoption are allowed |
| ratio | enum - ratio | leg ratio note can be in shares contracts vega wvega tvega or wtvega terms optExpiry must be in one of the xVega choices |
| legPriority | enum - LegPriority | Lead legs fill first note if there are no lead legs the first leg in the list will be treated as the lead leg |
| posType | enum - PositionType | note must be Auto for optExpiry not required for stock |
| ssaleFlag | enum - ShortSaleFlag | only for stock legs and autohedging |
| hedgeInstrument | enum - HedgeInst | |
| hedgeSecKey | enum - hedgeSecKey | autohedge instrument can be a TickerKey stock or ExpiryKey future required for Stock and Future |
CREATE TABLE EXAMPLE QUERY
CREATE TABLE `SRTrade`.`MsgSRPairLeggerOrder` (
`orderNumber` CHAR(19) NOT NULL DEFAULT '0000-0000-0000-0000' COMMENT 'pair legger order number (should be an SR Guid)',
`spdrSource` ENUM('None','SpdrTicket','SpdrSingle','SRSE','FIX','HedgeTool','TradeHedge','OpenHedge','AutoHedge','Orphan','RiskManager','OrderManager','ManagedOrder','RFQRespSrvr','Legger','SRSEDrop','FixDrop','TicketDrop','SysTest','RFRResponse','AllocOmni','AllocClient','CertGateway','MLegResponse','LeggerX','DropManager','AutoHedgeSrvr','AuctionStrategySrvr','AllocBlockFace','AllocBlockCust','IceChatGateway','EXS2SRC','MLinkResponse','AutoResponderVD','AutoResponderRC','AutoResponderSN','AutoResponderBX','MLink','SymChatGateway','RiskDrop','PolicyOpn','PolicyTrd','PolicyExe') NOT NULL DEFAULT 'None',
`accnt` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'SR trading account',
`clientFirm` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'SR client firm',
`pairCtrlState` ENUM('None','Preview','AddUpdate','Hold','Cancel') NOT NULL DEFAULT 'None',
`strategy` VARCHAR(36) NOT NULL DEFAULT '' COMMENT 'client-supplied strategy string; visible on SpiderRock GUI tools and other order reports.',
`userName` VARCHAR(24) NOT NULL DEFAULT '' COMMENT 'name of the user entering the order',
`orderSize` INT NOT NULL DEFAULT 0 COMMENT 'pair size (number of complete spreads)',
`leggerLimit` DOUBLE NOT NULL DEFAULT 0 COMMENT 'pair limit',
`leggerLimitType` ENUM('None','Prc','StrikeVol','AtmVol') NOT NULL DEFAULT 'None' COMMENT 'pair limit type (stock: Price, future: Price, optExpiry: AtmVol only, option: StrikeVol)',
`leggerAlgo` ENUM('None','LegHidden','LegOutLoud') NOT NULL DEFAULT 'None',
`legRatioType` ENUM('None','Qty','Vega','WVega','TVega','WtVega') NOT NULL DEFAULT 'None' COMMENT 'vega = ve * qty * pv; wVega = vol * ve * qty * pv; tVega = ve / Max(4 * years, 0.1) * qty * pv; wtVega = vol * ve / Max(4 * years, 0.1) * qty * pv',
`numAtmStrikes` SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'number of OptExpiry atm strikes [max 6]',
`legExposurePct` FLOAT NOT NULL DEFAULT 0 COMMENT 'percentage of legger order size than can be exposed on a single leg without completing related legs',
`legCompletionSlippage` DOUBLE NOT NULL DEFAULT 0 COMMENT 'maximum leg slippage to complete an open pair order (in leggerLimitType units)',
`marketSession` ENUM('None','PreMkt','RegMkt','PostMkt','PreRegMkt','RegPostMkt','AllDay') NOT NULL DEFAULT 'None',
`orderDuration` INT NOT NULL DEFAULT 0 COMMENT '[optional] (number of seconds)',
`goodTillDttm` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000' COMMENT '[optional] (default: 2099-01-01)',
`maxMktPctMove` DOUBLE NOT NULL DEFAULT 0 COMMENT '[optional] if any leg stock price, future price, or option underlier price moves more than maxMktPctMove from values at order activation then the entire order will be automatically put on hold',
`autoHedge` ENUM('None','Static','AutoMid','AutoCrx','AutoTrn','SpdrAuto','Spdr10S','Spdr30S','Spdr90S','Spdr5M','Spdr30M','SpdrDay','SmartFast','SmartNorm','FastCrx','FastDark','SlowDark','AlphaVwap1pct','AlphaVwap2pct','AlphaVwap5pct','AlphaVwap25pct','Custom','AwayAlgo','EuMsAlgo','Policy') NOT NULL DEFAULT 'None' COMMENT 'only for optExpiry/optExpiry and option/option pairs',
`hedgeSession` ENUM('None','PreMkt','RegMkt','PostMkt','PreRegMkt','RegPostMkt','AllDay') NOT NULL DEFAULT 'None',
`userData1` TINYTEXT NOT NULL DEFAULT '' COMMENT 'client supplied data field; passes through to parent and child executions and reports as well as FIX drops',
`userData2` TINYTEXT NOT NULL DEFAULT '' COMMENT 'client supplied data field; passes through to parent and child executions and reports as well as FIX drops',
`childData` TINYTEXT NOT NULL DEFAULT '' COMMENT 'client supplied data field; passes through to down stream child orders',
`timestamp` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000',
`LegsList` JSON NOT NULL DEFAULT JSON_ARRAY() CHECK(JSON_VALID(LegsList)),
CONSTRAINT nonnegative_orderNumber CHECK(ASCII(orderNumber) < 56),
PRIMARY KEY USING HASH (`orderNumber`)
) ENGINE=SRSE DEFAULT CHARSET=LATIN1 COMMENT='';
SELECT TABLE EXAMPLE QUERY
SELECT
`orderNumber`,
`spdrSource`,
`accnt`,
`clientFirm`,
`pairCtrlState`,
`strategy`,
`userName`,
`orderSize`,
`leggerLimit`,
`leggerLimitType`,
`leggerAlgo`,
`legRatioType`,
`numAtmStrikes`,
`legExposurePct`,
`legCompletionSlippage`,
`marketSession`,
`orderDuration`,
`goodTillDttm`,
`maxMktPctMove`,
`autoHedge`,
`hedgeSession`,
`userData1`,
`userData2`,
`childData`,
`timestamp`,
`LegsList`
FROM `SRTrade`.`MsgSRPairLeggerOrder`
WHERE
/* Replace with a CHAR(19) */
`orderNumber` = 'Example_orderNumber';
Doc Columns Query
SELECT * FROM SRTrade.doccolumns WHERE TABLE_NAME='SRPairLeggerOrder' ORDER BY ordinal_position ASC;